package com.yunhe.rentcars.pro.service.permi;



import com.yunhe.rentcars.commons.dto.Pageable;
import com.yunhe.rentcars.commons.dto.TreeNode;
import com.yunhe.rentcars.pro.entity.permi.Permission;


import java.util.List;
import java.util.Map;

/**
 * Created by Administrator on 2017/11/10 0010.
 */

public interface PermissionService {
    /**
     * 增
     * @param permission
     */
    void save(Permission permission);

    /**
     * 删
     * @param permisid
     */
    void delete(Long permisid);

    /**
     * 批量删
     * @param ids
     */
    void deleteBatch(String ids);
    /**
     * 改
     * @param permission
     */
    void update(Permission permission);

    /**
     * 查单个权限
     * @param permisid
     * @return
     */
    Permission find(Long permisid);

    /**
     * 查所有权限
     * @return
     */
    List<Permission> findList();


    /**
     * 分页查询所有权限
     * @param offset
     * @param limit
     * @return
     */
    Pageable<Permission> findPage(Integer offset, Integer limit);

    /**
     * 查询权限总数
     * @return
     */
    int count();
    /**
     * 权限单表查询
     * @param permission
     * @return
     */
    List<Permission> findPermisListByDan(Permission permission);


    /**
     * 权限、角色、用户多表查询
     * @param map
     * @return
     */
    List<Permission> findPermisListByDuo(Map map);

    /**
     * 查询权限树
     * @param roleid
     * @return
     */
    List<TreeNode> findTreeNodes(Long roleid);
}
